package com.sh.rbac.domain.converter;

import com.sh.rbac.domain.dto.menu.MenuSaveDTO;
import com.sh.rbac.domain.dto.menu.MenuUpdateDTO;
import com.sh.rbac.domain.entity.Menu;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 菜单转换器
 *
 * @author wb
 * @since 2024-07-06
 */

@Mapper
public interface MenuConverter {

    MenuConverter INSTANCE = Mappers.getMapper(MenuConverter.class);


    /**
     * 将 MenuSaveDTO 转换为 Menu
     *
     * @param menuSaveDTO 菜单保存数据传输对象
     * @return 菜单实体类
     */
    Menu toEntity(MenuSaveDTO menuSaveDTO);


    /**
     * 将 MenuUpdateDTO 转换为 Menu
     *
     * @param menuUpdateDTO 菜单修改数据传输对象
     * @return 菜单实体类
     */
    Menu toEntity(MenuUpdateDTO menuUpdateDTO);

}
